The present invention relates to technologies of problem diagnosis for a cloud application, and more specifically, to recommending a suspicious component in problem diagnosis for a cloud application.
In the problem diagnosis for a cloud application, it is very important how to find a root cause of a cloud application problem fast and accurately. In a cloud computing environment, execution of the cloud application involves many components, such as a proxy server, an application server, a database, a virtual machine, etc. Any component having a problem will lead to performance degradation of the cloud application.
At present, the problem diagnosis for the cloud application is generally performed by a system administrator manually. That is, when the performance of the cloud application degrades, the system administrator determines a possible problem component according to his experience, and performs root cause analysis for the problem component utilizing a specific problem diagnosis tool. However, such problem diagnosis requires higher expertise of the system administrator. Furthermore, in the cloud computing environment, many components are required for the execution of the cloud application, and these components affect each other and may be set with different alert rules. When the performance of the cloud application degrades, a plurality of components may all give an alarm, which leads to difficulty in determining the problem component for the system administrator, therefore the root cause cannot be determined fast and accurately.
Additionally, most existing problem diagnosis tools focus on specific components. Therefore, it is required to determine which problem diagnosis tool will be utilized for which component before the root cause analysis. However, in the prior art, the process is generally completed by an expert with higher expertise.
Therefore, the process of problem diagnosis of the cloud application may include two phases. In the first phase, it is determined which component has a problem; in the second phase, the root cause analysis for the component is performed by utilizing a specific problem diagnosis tool. However, in the prior art, there is not any technology in which a user's lack of expertise is guided to perform diagnosis starting from which component or in which a component that needs to be diagnosed is recommended, when the performance of the cloud application degrades.
In one illustrative embodiment, a method for recommending a suspicious component in problem diagnosis for a cloud application is provided. The illustrative embodiment constructs a graph data model representing a hierarchical structure of the cloud application. In the illustrative embodiment, the graph data model comprises an application node representing the cloud application, a plurality of component nodes representing a plurality of components of the cloud application, and inter-node lines indicating inter-node relationships. The illustrative embodiment obtains real-time information of the cloud application, in response to detecting performance degradation of the cloud application. The illustrative embodiment obtains impact degrees of the plurality of component nodes on the performance degradation of the cloud application, based on the graph data model and the real-time information. The illustrative embodiment generates a suspicious component sequence, according to the impact degrees of the plurality of component nodes.
In other illustrative embodiments, a system/apparatus is providect The system/apparatus may comprise one or more processors and a memory coupled to the one or more processors. The memory may comprise instructions that, when executed by the one or more processors, cause the one or more processors to perform various ones of, and combinations of, the operations outlined above with regard to the method illustrative embodiment.
In yet another illustrative embodiment, a computer program product comprising a computer useable or readable medium having a computer readable program is provided. The computer readable program, when executed on a computing device, causes the computing device to perform various ones of, and combinations of, the operations outlined above with regard to the method illustrative embodiment.
These and other features and advantages of the present invention will be described in, or will become apparent to those of ordinary skill in the art in view of the following detailed description of the example embodiments of the present invention.